var _n88;
var cc__extends = __extends;
var cc__decorate = __decorate;
var cc__importDefault = __importDefault;
Object.defineProperty(exports, "__esModule", {
  value: true
});
var $1$Loader = require("Loader");
var s = cc__importDefault($1$Loader);
var $zqcc_OverallSystem = require("zqcc_OverallSystem");
var $1$zqcc_pageBase = require("zqcc_pageBase");
var l = cc__importDefault($1$zqcc_pageBase);
var $1$zhutiListItem = require("zhutiListItem");
var u = cc__importDefault($1$zhutiListItem);
var cc__decorator = cc._decorator;
var ccp_ccclass = cc__decorator.ccclass;
var ccp_property = cc__decorator.property;
var def_zhutiList = function (t) {
  function _ctor() {
    let instance = (t !== null) && t.apply(this, arguments) || this; // 使用let替代var，更符合现代JavaScript风格

    // 初始化属性
    instance.pageName = "主题选择"; // 设置页面名称
    instance.item = null; // 初始化item为null
    instance.content = null; // 初始化content为null
    instance.scr1 = null; // 初始化scr1为null
    instance.scr2 = null; // 初始化scr2为null
    instance.scrContent1 = null; // 初始化scrContent1为null
    instance.scrContent2 = null; // 初始化scrContent2为null
    instance.listData = null; // 初始化listData为null

    return instance; // 返回最终的对象
  }
  cc__extends(_ctor, t);
  _ctor.prototype.onLoad = function () { };
  _ctor.prototype.start = function () {
    let context = this; // 使用let提高作用域的可控性

    // 加载皮肤购买数据
    s.default.loadBundleRes("home", "json/皮肤购买", function (response) {
      console.log(response.json); // 打印加载的皮肤购买数据
      let skinData = response.json; // 存储皮肤购买数据

      // 加载物品数据
      s.default.loadBundleRes("home", "json/物品", function (response) {
        let itemData = response.json; // 存储物品数据

        // 如果context存在且具有node属性，初始化游戏
        if (context && context.node) {
          context.initGame(skinData, itemData);
        }
      });
    });

    // 调用初始化方法
    this._init();
  };
  _ctor.prototype.tab = function (t, e) {
    let index = 0; // 使用let提高作用域的可控性
    const children = t.currentTarget.parent.children; // 获取父节点的所有子节点

    // 将所有子节点的select状态设为不活动
    for (index = 0; index < children.length; index++) {
      children[index].getChildByName("select").active = false;
    }

    // 设定当前目标的select状态为活动
    t.currentTarget.getChildByName("select").active = true;

    // 根据条件设置scr1和scr2的活动状态
    this.scr1.active = (e === 1);
    this.scr2.active = (e === 2);
  };
  _ctor.prototype.initGame = function (t, e) {
    if (this.scrContent1) {
      this.scrContent1.removeAllChildren();
    }
    if (this.scrContent2) {
      this.scrContent2.removeAllChildren();
    }

    let pageItems = []; // 使用let提高作用域的可控性  --o
    let nonPageItems = []; // 存储非分页项的数组      --n

    for (let key in t) {
      if (Object.prototype.hasOwnProperty.call(t, key)) { // 确保属性是对象自身的属性
        let item = t[key]; // 获取当前项
        if (item["分页"] === 1) { // 检查分页属性
          pageItems.push(item); // 将分页项推入pageItems数组
        } else {
          nonPageItems.push(item); // 将非分页项推入nonPageItems数组
        }
      }
    }

    // var a = [];
    // var s = 0;
    // for (var c = o; s < c.length; s++) {
    //   var l = c[s];
    //   a.indexOf(l["获取方式"]) < 0 && a.push(l["获取方式"]);
    // }

    let uniqueMethods = []; // 用于存储唯一的获取方式  --a
    let index = 0; // 使用let提升作用域的可控性   --s
    const items = pageItems; // 获取输入数组

    // 遍历输入数组
    for (index = 0; index < items.length; index++) {
      let item = items[index]; // 获取当前项

      // 检查获取方式是否已存在于uniqueMethods中
      if (uniqueMethods.indexOf(item["获取方式"]) < 0) {
        uniqueMethods.push(item["获取方式"]); // 如果不存在，添加到uniqueMethods
      }
    }

    // var p = 0;
    // for (var d = a; p < d.length; p++) {
    //   l = d[p];
    //   (P = cc.instantiate(this.content)).parent = this.scrContent2;
    //   P.x = 0;
    //   P.getChildByName("biaoti").getComponent(cc.Label).string = l + "解锁";
    //   var h = 0;
    //   var f = 0;
    //   for (var y = o; f < y.length; f++) {
    //     var g = y[f];
    //     if (g["获取方式"] == l) {
    //       (N = cc.instantiate(this.item)).parent = P.getChildByName("scr").getChildByName("view").getChildByName("content");
    //       N.y = 0;
    //       var v = e[g["物品ID"]];
    //       N.getComponent(u.default).setDatas(v, g);
    //       h++;
    //     }
    //   }
    //   P.getChildByName("scr").getComponent(cc.ScrollView).enabled = h > 3;
    // }

    let index_p = 0; // 使用let提升作用域的可控性   --p
    const dataList = uniqueMethods; // 获取输入数据列表

    // 遍历输入数据列表
    for (index_p = 0; index_p < dataList.length; index_p++) {
      let currentItem = dataList[index_p]; // 获取当前项
      let instantiatedContent = cc.instantiate(this.content); // 实例化内容节点
      instantiatedContent.parent = this.scrContent2; // 设置父节点
      instantiatedContent.x = 0; // 设置位置

      // 更新标题
      instantiatedContent.getChildByName("biaoti").getComponent(cc.Label).string = currentItem + "解锁";

      let itemCount = 0; // 记录物品数量
      let itemIndex = 0; // 物品索引
      const methodList = pageItems; // 获取获取方式列表

      // 遍历获取方式列表
      for (itemIndex = 0; itemIndex < methodList.length; itemIndex++) {
        let methodItem = methodList[itemIndex]; // 获取当前获取方式项

        // 检查获取方式
        if (methodItem["获取方式"] === currentItem) {
          let instantiatedItem = cc.instantiate(this.item); // 实例化物品节点
          instantiatedItem.parent = instantiatedContent.getChildByName("scr").getChildByName("view").getChildByName("content"); // 设置父节点
          instantiatedItem.y = 0; // 设置位置

          // 获取物品数据并设置
          let itemData = e[methodItem["物品ID"]];
          instantiatedItem.getComponent(u.default).setDatas(itemData, methodItem);
          itemCount++; // 增加物品数量
        }
      }

      // 启用或禁用滚动视图
      instantiatedContent.getChildByName("scr").getComponent(cc.ScrollView).enabled = itemCount > 3;
    }


    // var m = [];
    // var _ = 0;
    // for (var S = n; _ < S.length; _++) {
    //   l = S[_];
    //   m.indexOf(l["获取方式"]) < 0 && m.push(l["获取方式"]);
    // }

    let uniqueMethods_m = []; // 用于存储唯一的获取方式 --m
    let index_m = 0; // 使用let提高作用域的可控性
    const items_n = nonPageItems; // 获取输入数组

    // 遍历输入数组
    for (index_m = 0; index_m < items_n.length; index_m++) {
      let currentItem = items_n[index_m]; // 获取当前项

      // 检查“获取方式”是否已存在于uniqueMethods中
      if (uniqueMethods_m.indexOf(currentItem["获取方式"]) < 0) {
        uniqueMethods_m.push(currentItem["获取方式"]); // 如果不存在，添加到uniqueMethods
      }
    }

    // var b = 0;
    // for (var w = m; b < w.length; b++) {
    //   var P;
    //   l = w[b];
    //   (P = cc.instantiate(this.content)).parent = this.scrContent1;
    //   P.x = 0;
    //   P.getChildByName("biaoti").getComponent(cc.Label).string = l + "解锁";
    //   h = 0;
    //   var O = 0;
    //   for (var C = n; O < C.length; O++) {
    //     var N;
    //     var A = C[O];
    //     if (A["获取方式"] == l) {
    //       (N = cc.instantiate(this.item)).parent = P.getChildByName("scr").getChildByName("view").getChildByName("content");
    //       N.y = 0;
    //       v = e[A["物品ID"]];
    //       N.getComponent(u.default).setDatas(v, A);
    //       h++;
    //     }
    //   }
    //   P.getChildByName("scr").getComponent(cc.ScrollView).enabled = h > 3;
    // }


    let indexB = 0; // 使用let提高作用域的可控性
    const methods = uniqueMethods_m; // 获取方法列表

    // 遍历方法列表
    for (indexB = 0; indexB < methods.length; indexB++) {
      let currentMethod = methods[indexB]; // 获取当前方法
      let instantiatedContent = cc.instantiate(this.content); // 实例化内容节点
      instantiatedContent.parent = this.scrContent1; // 设置父节点
      instantiatedContent.x = 0; // 设置位置

      // 更新标题
      instantiatedContent.getChildByName("biaoti").getComponent(cc.Label).string = currentMethod + "解锁";

      let itemCount = 0; // 计数器
      let indexO = 0; // 使用let提升作用域的可控性
      const items = nonPageItems; // 获取物品列表

      // 遍历物品列表
      for (indexO = 0; indexO < items.length; indexO++) {
        let currentItem = items[indexO]; // 获取当前物品

        // 检查获取方式
        if (currentItem["获取方式"] === currentMethod) {
          let instantiatedItem = cc.instantiate(this.item); // 实例化物品节点
          instantiatedItem.parent = instantiatedContent.getChildByName("scr").getChildByName("view").getChildByName("content"); // 设置父节点
          instantiatedItem.y = 0; // 设置位置

          // 获取物品数据并设置
          let itemData = e[currentItem["物品ID"]];
          instantiatedItem.getComponent(u.default).setDatas(itemData, currentItem);
          itemCount++; // 增加计数
        }
      }

      // 启用或禁用滚动视图
      instantiatedContent.getChildByName("scr").getComponent(cc.ScrollView).enabled = itemCount > 3; // 启用滚动视图
    }
  };
  _ctor.prototype._init = function () {
    this.open();
  };
  _ctor.prototype.OnBtnConfirm = function () { };
  _ctor.prototype.OnBtnClose = function () {
    $zqcc_OverallSystem.mgrs().soundMgr.playBtnSound();
    this.onlyClose();
  };
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "item", undefined);
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "content", undefined);
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "scr1", undefined);
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "scr2", undefined);
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "scrContent1", undefined);
  cc__decorate([ccp_property(cc.Node)], _ctor.prototype, "scrContent2", undefined);
  return cc__decorate([ccp_ccclass], _ctor);
}(l.default);
exports.default = def_zhutiList;